import { createI18n, useI18n } from "vue-i18n"; // 引入vue-i18n组件
// 载入语言
import * as lang from "./lang/index";
// constant
import { LANG_KEY } from "@/constant/index";
// 语言配置
import options, { initLang } from "./options";
// 默认语言
const defaultLang = String(localStorage.getItem(LANG_KEY)) || initLang;
// key
export const langType: any = options;
//i18n实例
export const i18n = createI18n({
  legacy: false,
  locale: defaultLang, // 语言标识
  fallbackLocale: defaultLang, //没有英文的时候默认中文语言
  messages: lang,
});
/**
 * 组合式函数
 */
export function useLangI18n() {
  const i18n = useI18n();
  /**
   * 语言设置
   */
  const useSetLang = (key: string) => {
    const lang = options?.[key]?.value || defaultLang;
    i18n.locale.value = lang;
    localStorage.setItem(LANG_KEY, lang);
  };
  return {
    useSetLang,
  };
}
